The Java System Dependence Graph
نویسندگان
چکیده
The Program Dependence Graph was introduced by Ottenstein and Ottenstein in 1984. It was suggested to be a suitable internal program representation for monolithic programs, for the purpose of carrying out certain software engineering operations such as slicing and the computation of program metrics. Since then, Horwitz et al. have introduced the multi-procedural equivalent System Dependence Graph. Several authors have proposed object-oriented dependence graph construction approaches. Every approach provides its own benefits, some of which are language specific. This paper presents a Java System Dependence Graph which draws on the strengths of a range of earlier works and adapts them, if necessary, to the Java language. It also provides guidance on the construction of the graph, identifies potential research topics based on it and shows, in the appendix, a completed graph with a slice highlighted for a small, but realistic example.
منابع مشابه
Code Similarity Using Program Dependence Graphs
Propose a system which uses Program Dependence Graphs as an intermediate representation of codes to perform approximate sub graph isomorphism using graph alignment techniques for finding similar code. The document aims at defining all of the concepts used to build the system along with the results being compared with the current state of the art, JPLAG. The proposed system only works for Java c...
متن کاملSlicing Concurrent Java Programs
Although many slicing algorithms have been proposed for object-oriented programs, no slicing algorithm has been proposed which can be used to handle the problem of slicing concurrent Java programs correctly. In this paper, we propose a slicing algorithm for concurrent Java programs. To slice concurrent Java programs, we present a dependence-based representation called multithreaded dependence g...
متن کاملDependence Analysis for Recursive Java Programs_SIGPlan_...
Dependence analysis is an important approach to analyzing, understanding, testing and maintaining programs. T his paper develops a new kind of dependence analysis method for recursive Java programs. In our method, the program dependence graph (PDG) of a Java program consists of a set of PDGs that are not connected. They interact with each other by dependences among parameters. Thus, t he inter-...
متن کاملApplying Program Dependence Analysis to Java Software
Understanding program dependences is essential for many software engineering activities including program slicing, testing, debugging, reverse engineering, maintenance, and complexity measurement. This paper presents the software dependence graph for Java (JSDG), which extends previous dependence-based representations, to represent various types of program dependences in Java software. The JSDG...
متن کاملMultithreaded Dependence Graphs for Concurrent Java Programs
Understanding program dependencies in a computer program is essential for many software engineering activities including program slicing, testing, debugging, reverse engineering, and maintenance. In this paper, we present a dependence-based representation called multithreaded dependence graph, which extends previous dependence-based representations, to represent program dependencies in a concur...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003